package org.dromara.event.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.event.domain.EventAudit;
import org.dromara.event.domain.EventData;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 活动视图对象 event_data
 *
 * @author Lion Li
 * @date 2025-04-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = EventData.class)
public class EventDataVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 标题
     */
    @ExcelProperty(value = "标题")
    private String title;

    /**
     * 图片地址
     */
    private String image;


    /**
     * 审核状态(0-未审核，1-审核成功，2-审核不通过)
     */
    @ExcelProperty(value = "审核状态(0-未审核，1-审核成功，2-审核不通过)")
    private String auditStatus;


    private Integer maxPeople;

    /**
     * 审核详情
     */
    @ExcelProperty(value = "审核详情")
    private String auditDetails;

    /**
     * 状态（0-活动停止，1-活动进行，2-活动已报满，3-活动结束)
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "状态（0-活动停止，1-活动进行，2-活动已报满，3-活动结束)")
    private String status;

    /**
     * 类型（0-学习，1-游戏，2-生活，3-工作）
     */
    @ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=-学习，1-游戏，2-生活，3-工作")
    private String type;

    /**
     * 活动详情
     */
    @ExcelProperty(value = "活动详情")
    private String description;

    /**
     * 地址
     */
    @ExcelProperty(value = "地址")
    private String address;

    /**
     * 活动结束时间
     */
    @ExcelProperty(value = "活动结束时间")
    private Date endTime;

    /**
     * 活动开始时间
     */
    private Date startTime;

    /**
     * 审核信息
     */
    private List<EventAuditVo> eventAudits;


}
